home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Info-Mac 4
/
Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso
/
Development
/
Source
/
tarsrc Folder
/
tar.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-11-04
|
2KB
|
95 lines
/*
* Macintosh TAR
*
* Written by Craig Ruff
*
* Main routine and global variables.
*/
#include "tar.h"
#include <SegLoad.h>
#include <GestaltEqu.h>
/*
* Global variable declarations
*/
Boolean doneFlag = false; /* Quit item selected? */
Boolean ignorez = false; /* Ignore zero blocks */
Boolean pOpen = false; /* Printer open? */
Boolean reblock = false; /* Read enough for a full block size buffer */
THPrint prRecHdl; /* Printer record (when printing) */
char header[128]; /* Common header for listings */
main() {
WindowPtr wind;
EventRecord e;
long response;
/*
* Standard Mac Initializations
*/
InitGraf(&qd.thePort);
InitFonts();
FlushEvents(everyEvent, 0);
InitWindows();
InitMenus();
TEInit();
InitDialogs(nil);
InitCursor();
if (
(Gestalt(gestaltSystemVersion, &response) != noErr) ||
((response & 0xffff) < 0x0605)
) {
VersionAlert();
ExitToShell();
}
GetPreferences();
if (MenuInit())
ExitToShell();
if ((prRecHdl = (THPrint) NewHandle(sizeof(TPrint))) == nil) {
OSAlert("\pmain", "\pNewHandle returned nil", nil, MemError());
ExitToShell();
}
sprintf(header, "T Size Date Name%*s", 40, "");
if (!CmdFile())
do {
/* Should never have a window open while a DA is running */
if (!menusOK && (FrontWindow() == nil))
DDaMenus();
if (WaitNextEvent(everyEvent, &e, 20L, nil))
switch (e.what) {
case mouseDown:
switch (FindWindow(e.where, &wind)) {
case inSysWindow:
SystemClick(&e, wind);
break;
case inMenuBar:
MenuCmd(MenuSelect(e.where));
break;
}
break;
case keyDown:
case autoKey:
if (e.modifiers & cmdKey)
MenuCmd(MenuKey(e.message & charCodeMask));
break;
}
} while (!doneFlag);
if (pOpen)
PrClose();
ExitToShell();
}